package com.novellotus.iov.carvice.utils;

import android.content.Context;

/**
 * Created by Rich on 2017/8/7.
 */

public class DataSign {


    /**
     * @param value 用base64算法将json数据加密
     */
    public static String encodeValue(String value) {

        return Base64Utils.EncodesBase64(value);
    }

    /**
     * 获取签名值
     * 传入encodeBase64JSONStr,secret_key 通过hmacSHA1算法生成
     *
     * @param value 用base64算法将json数据加密后的数据
     *              key   登录时获取的私钥
     * @return 签名值
     */
    public static String getEncodeBase64JSONString(String value, String key) throws Exception {
        return HMACSHA1.HmacSHA1Encrypt(value, key);
    }


    /**
     * @param value   原始json数据
     * @param context
     * @return
     */
    public static String getSign(String value, Context context) {

        String access_key = SharedPreferencesUtils.getKey(context)[0];
        String secret_key = SharedPreferencesUtils.getKey(context)[1];

        String signValue = "";
        String codeValue = encodeValue(value);//
        try {
            signValue = HMACSHA1.HmacSHA1Encrypt(codeValue, secret_key);
        } catch (Exception e) {
            e.printStackTrace();
        }
        String sign = signValue + ":" + access_key + ":" + codeValue;
        return sign;
    }

}
